With the recent rapid progress of the digital transmission technology, digital broadcasting is about to enter the stage of full-scale commercialization even in terrestrial broadcasting, in succession to satellite broadcasting and cable TV broadcasting. In particular, OFDM has already been put into practical use as the terrestrial digital TV broadcasting system in Europe. In Japan, also, it has already been decided to adopt OFDM as the terrestrial digital TV broadcasting system and the terrestrial digital audio broadcasting system. Moreover, some wireless LANs (local area networks) and the like have adopted OFDM for their transmission systems.
In OFDM transmission systems, data is allocated to a plurality of carriers orthogonal to each other to perform modulation/demodulation. Inverse fast Fourier transform (IFFT) is performed on the transmitter side, while fast Fourier transform (FFT) is performed on the receiver side. An arbitrary modulation scheme may be used for each of the carriers. Synchronous modulation schemes such as quaternary phase shift keying (QPSK) and quadrature amplitude modulation (QAM) may also be selected.
For demodulation of a synchronous-modulated signal, pilot signals are inserted in predetermined carriers on the transmitter side in some OFDM-adopting transmission systems. Pilot symbols, called scattered pilots (SP), are inserted in the OFDM transmission systems adopted for the terrestrial digital TV broadcasting in Europe and Japan.
The pilot signal is a signal of which the amplitude and phase are known on the receiver side, and is inserted at a predetermined position on the time axis in a predetermined carrier of a transmitted signal. The position of the insertion is also known on the receiver side.
On the receiver side, channel responses are determined based on the pilot signals, to equalize and demodulate the received signal. Specifically, channel responses corresponding to the received pilot signals are determined, and interpolation is made using the determined channel responses along the time axis and the frequency axis, to thereby estimate channel responses at the timings of symbols between the pilot signals. Based on the estimation results, the received signal is equalized.
In reception of an OFDM signal with mobile units and the like, a phenomenon called fading occurs in which the amplitude and phase of the received signal change with time. In this event of the fading interfering with the received signal, the waveform of the received signal is distorted. To compensate the influence of this distortion appropriately, the interpolation made using the channel responses for the pilot signals along the time axis plays an important role.
An interpolation method using channel responses for pilot signals employed in a conventional reception apparatus receiving an OFDM signal will be described. FIG. 20 is a block diagram showing a configuration of a conventional reception apparatus. The reception apparatus of FIG. 20 includes a tuner section 11, an A/D conversion section 12, a quadrature demodulation section 13, a FFT section 14, a distortion compensation section 15, an error correction section 16, a pilot signal generation section 21, a channel response calculation section 22, a frequency axis interpolation section 23 and a time axis interpolation section 930. The time axis interpolation section 930 includes a memory 931 and a selector 934.
FIG. 2 is a view illustrating a specific example of arrangement of symbols for transmitting pilot signals in an OFDM signal. As shown in FIG. 2, pilot signals P1 are transmitted every four symbols, so that channel responses for the pilot signals P1 are obtained every four symbols. This indicates that channel responses for three data signals D1 between the adjacent pilot signals must be determined from the channel responses for the pilot signals P1.
The time axis interpolation section 930 estimates channel responses for the data signals between the pilot signals from the channel responses for the pilot signals determined by the channel response calculation section 22, by performing zero-order interpolation (also called “hold”) using the channel responses for the pilot signals, for pilot signal-inserted carriers.
FIG. 21 is a view illustrating an example of channel responses obtained by zero-order interpolation. The channel responses are represented as scalars in FIG. 21 for convenience of description although they should strictly be represented by complex vectors. The zero-order interpolation is a method in which channel responses for signals between two pilot signals continuous on the time axis are estimated by using the channel response for the preceding pilot signal out of the channel responses for these pilot signals as a representative.
The channel response at a symbol of a symbol index s for a carrier of a carrier index kp is herein represented by H(s, kp). Consider a carrier of a carrier index kp having pilot signals inserted at positions of symbol indexes s=lp−4, lp, lp+4, . . . (lp is an integer) in a cycle of four symbols. Assume that zero-order interpolation is performed for this carrier between the symbol indexes s=lp−4 and s=lp and between the symbol indexes s=lp and s =lp+4. The channel responses for the pilot signals of this carrier at the symbol indexes s=lp−4 and lp are H(lp−4, kp) and H(lp, kp), respectively. Thus, channel responses H(lp−3, kp), H(lp−2, kp) and H(lp−1, kp) for data signals between the symbol indexes s=lp−4 and s=lp obtained by zero-order interpolation are as follows.H(lp−3, kp)=H(lp−4, kp)H(lp−2, kp)=H(lp−4, kp)H(lp−1, kp)=H(lp−4, kp)
Likewise, channel responses H(lp+1, kp), H(lp+2, kp) and H(lp+3, kp) for data signals between the symbol indexes s=lp and s=lp+4 obtained by zero-order interpolation are as follows.H(lp+1, kp)=H(lp, kp)H(lp+2, kp)=H(lp, kp)H(lp+3, kp)=H(lp, kp)
Note that although the above description is for the carrier having pilot signals inserted at positions of symbol indexes s=lp−4, lp, lp+4, . . . , the above operation pattern can also be used for determining channel responses for data signals for carriers having pilot signals inserted at positions of other symbol indexes and for determining channel responses for data signals between other symbol indexes.
The configuration and operation of the time axis interpolation section 930 that performs zero-order interpolation as described above over the entire pilot signal-inserted carriers will be described. The channel responses for the pilot signals output from the channel response calculation section 22 are input into the memory 931 and the selector 934. The memory 931 holds the input channel responses for the pilot signals. In the example of arrangement of pilot signals shown in FIG. 2, in which one every three carriers has pilot signals inserted therein, the memory 931 may only have a capacity of holding channel responses for carriers one-third the total number of carriers.
The memory 931 holds the input channel responses and also outputs the held channel responses to the selector 934, updating the held/output values upon receipt of new channel responses. The selector 934 selects the signal output from the memory 931 at the time corresponding to data signals between the adjacent pilot signals, and selects a channel response for a new pilot signal from the channel response calculation section 22 when the channel response for a pilot signal is updated, for each pilot signal-inserted carrier.
FIG. 7 shows a timing chart of values a and b input into the selector 934. The selector 934 selects the output of the channel response calculation section 22 (value a) when a channel response for a pilot signal is input, and selects the output of the memory 931 (value b) when no channel response for a pilot signal is input, for each of the carriers of indexes kp=0, 3, 6, . . . , and outputs the selected value. By operating in this way, the time axis interpolation section 930 determines a signal in which zero-order interpolation has been performed for the pilot signal-inserted carriers, and outputs the results to the frequency axis interpolation section 23.
Besides the method using zero-order interpolation, there are also known methods for interpolating/estimating channel responses along the time axis using first-order interpolation (linear interpolation). Time-axis interpolation using linear interpolation will be described.
FIG. 22 is a view illustrating an example of channel responses determined by linear interpolation. The channel responses are represented as scalars in FIG. 22 for convenience of description although they should strictly be represented by complex vectors. The linear interpolation is a method in which values obtained by interior-dividing the line segment connecting the channel responses for two pilot signals continuous on the time axis are estimated as channel responses between the two pilot signals.
The linear interpolation will be described, using the OFDM signal used in the description of the zero-order interpolation. For a carrier of a carrier index kp, the channel responses H(lp−3, kp), H(lp−2, kp) and H(lp−1, kp) for data signals between the symbol indexes s=lp−4 and s=lp obtained by linear interpolation are as follows.H(lp−3, kp)=(¾)·H(lp−4, kp)+(¼)·H(lp, kp)H(lp−2, kp)=(½)·H(lp−4, kp)+(½)·H(lp, kp)H(lp−1, kp)=(¼)·H(lp−4, kp)+(¾)·H(lp, kp)
Likewise, the channel responses H(lp+1, kp), H(lp+2, kp) and H(lp+3, kp) for data signals between the symbol indexes s=lp and s=lp+4 are as follows.H(lp+1, kp)=(¾)·H(lp, kp)+(¼)·H(lp+4, kp)H(lp+2, kp)=(½)·H(lp, kp)+(½)·H(lp+4, kp)H(lp+3, kp)=(¼)·H(lp, kp)+(¾)·H(lp+4, kp)
Note that although the above description is for the carrier having pilot signals inserted at positions of symbol indexes s=lp−4, lp, lp+4, . . . , the above operation pattern can also be used for carriers having pilot signals inserted at positions of other symbol indexes and for obtaining channel responses for data signals between other symbol indexes.
FIG. 23 is a block diagram showing another configuration of the time axis interpolation section of the conventional reception apparatus. The configuration and operation of a time axis interpolation section 940 that performs linear interpolation as described above over the entire pilot signal-inserted carriers will be described. The time axis interpolation section 940 includes memories 941a and 941b, a controller 942 and an operator 944.
The controller 942 controls the operations of the memories 941a and 941b and the operator 944. The channel responses for pilot signals output from the channel response calculation section 22 are input into the memory 941a and the operator 944. The memories 941a and 941b hold the input channel responses for pilot signals. In the example of arrangement of pilot signals shown in FIG. 2, in which one every three carriers has pilot signals inserted therein, each of the memories 941a and 941b may only have a capacity of holding one value of channel response each for carriers one-third the total number of carriers.
The memory 941a holds the input channel responses and also outputs the held channel responses to the memory 941b and the operator 944. The memories 941a and 941b update the held/output values upon receipt of new channel responses. The operator 944 selects the signals output from the memories 941a and 941b at the time corresponding to data signals between the adjacent pilot signals, and selects a channel response for a new pilot signal from the channel response calculation section 22 when the channel response for a pilot signal is updated, for each pilot signal-inserted carrier.
The operator 944 selects the output signals of the channel response calculation section 22 and the memories 941a and 941b as appropriate, multiplies each of the selected signals by a coefficient and calculates the sum of the multiplication results, based on an operation pattern determined for each symbol, and outputs the resultant interpolated channel response.
FIGS. 7 and 8 are timing charts of values a, b and c input into the operator 944. The values a, b and c are respectively output from the channel response calculation section 22, and the memories 941a and 941b. The value b represents the channel response for a pilot signal immediately preceding the pilot signal related to the value a, and the value c represents the channel response for a pilot signal immediately preceding the pilot signal related to the value b.
FIG. 10 is a timing chart showing an operation pattern used in the operator 944. The operator 944 executes operation according an operation pattern fb in FIG. 10 for the respective carriers of indexes kp=0, 3, 6, . . . , and outputs the operation results Hb. From FIGS. 7, 8 and 10, it is found that the linear-interpolated channel responses are obtained with delay of three symbols. By operating as described above, the time axis interpolation section 940 determines the linear-interpolated channel responses for the pilot signal-inserted carriers, and outputs the results to the frequency axis interpolation section 23.
FIG. 24 is a block diagram showing a configuration of a time axis interpolation section that performs time axis interpolation using a FIR filter. Besides the methods using zero-order interpolation and linear interpolation as described above, there are also known methods for interpolating/estimating channel responses along the time axis using a FIR filter. Time axis interpolation using a FIR filter will be described.
A time axis interpolation section 950 of FIG. 24 includes a 0 insertion portion 956, memories 951, 952, . . . , 953 and an operator 960. The operator 960 includes N0 (an integer equal to or more than 2) multipliers 961, 962, . . . , 964 and an adder 966, constituting a FIR filter having N0 taps.
The 0 insertion portion 956 receives channel responses for pilot signals output from the channel response calculation section 22. The 0 insertion portion 956 inserts “0” as channel responses for pilot signal-inserted carriers to correspond to data signals at three symbols between the adjacent two pilot signals. For example, when receiving H(lp, kp) and H(lp+4, kp) as channel responses for two pilot signals, the 0 insertion portion 956 fills the time corresponding to three symbols therebetween with “0” to obtain H(lp, kp), 0, 0, 0, H(lp+4, kp). The 0 insertion portion 956 outputs the thus-processed results to the memory 951 and the multiplier 961.
The memories 951, . . . , 953 are connected in series as shown in FIG. 24. Each of the memories 951, . . . , 953 holds channel responses obtained for carriers one-third the total number of carriers. The memory 951 holds the input channel responses and also outputs the held channel responses to the memory 952 and the multiplier 962, updating the held/output values on receipt of new channel responses, for the pilot signal-inserted carriers. Likewise, the other memories hold the input channel responses and also output the held channel responses to their downstream memory and corresponding multiplier.
The operator 960 executes linear operation for signals output from the channel response calculation section 22 and the memories 951 , . . . , 953. The multipliers 961, 962, . . . , 964 multiply the signals output from the channel response calculation section 22 and the memories 951, . . . , 953 by tap coefficients A0, A1, . . . , AN0-1, respectively, and the adder 966 calculates the sum of the multiplication results and outputs the results.
As a result, H(lp+1, kp), H(lp+2, kp) and H(lp+3, kp) are obtained as interpolated channel responses for the timings of three symbols between the two channel responses H(lp, kp) and H(lp+4, kp) for the two pilot signals, for the pilot signal-inserted carriers.
By the processing described above, the time axis interpolation section 950 determines channel responses obtained by the FIR filter-using interpolation for pilot signal-inserted carriers, and outputs the results to the frequency axis interpolation section 23.
The technique of determining channel responses of an OFDM signal by linear interpolation, as well as the FIR filter-using interpolation method, as described above are disclosed in Japanese Laid-Open Patent Publication No. 2000-286817, for example.
Problems to be Solved
In reception of an OFDM signal with mobile units and the like, the channel responses change vigorously with time due to the influence of fading. In particular, in a reception environment where the channel responses vary at high speed, the conventional time axis interpolation using zero-order interpolation or linear interpolation will cause a large error between the estimated channel responses and the actual channel responses. With such an error, it fails to appropriately remove the influence of the channel on the received signal, and this results in degrading the demodulation performance.
FIGS. 21 and 22 show errors in estimation of channel responses in zero-order interpolation and linear interpolation, respectively, occurring when the channel responses vary at high speed. In the linear interpolation, the error can be made smaller compared with that in the zero-order interpolation, but yet an error of some degree occurs in estimating channel responses varying at high speed.
In the FIR filter-using time axis interpolation, the error in estimation of channel responses varying at high speed can be made smaller than in the zero-order interpolation and the linear interpolation. However, as the number of taps of the filter increases, the memory capacity must be larger, and this increases the circuit size. In addition, the FIR filter-using time axis interpolation causes a delay corresponding to the number of taps of the filter. For a filter having N0 taps (N0 is an odd number), a delay corresponding to [N0/2] symbols (where [X] represents an integer closest to X and equal to or less than X) arises.
When the reception apparatus of FIG. 20 includes the time axis interpolation section 950, the distortion compensation section 15 executes complex division of the output signal of the FFT section 14 by the channel responses for the entire carriers obtained by the time axis interpolation section 950. If a delay of [N0/2] symbols arises in the channel responses obtained by the FIR filter-using time axis interpolation section 950, it is necessary to delay the signal by inserting a delay memory of the [N0/2] symbols between the FFT section 14 and the distortion compensation section 15 to secure synchronization, so as to ensure that the distortion compensation section 15 executes complex division of the signal delayed by [N0/2] symbols by the channel responses obtained by the frequency axis interpolation section 23. Therefore, as the number of taps increase, the capacity of the delay memory must be larger, and this increases the circuit size.